\section*{Es. 1}
Partendo dalla soluzione dell'esercitazione 5, si chiede di
\begin{enumerate}
	\item introdurre due funtori, uno che contiene la funzione da integrare e uno la sua primitiva. La funzione che si desidera integrare \`e
		\begin{align*}
			f(x) = x \sin(k x)\,,
		\end{align*}
		dove $k \in \mathbb{R}$ \`e un parametro;
%	\item il metodo \cpp{apply} della classe \cpp{Quadrature} riceve in ingresso unicamente un puntatore a funzione di tipo \cpp{FunPoint}. Implementare all'interno del funtore un operatore di casting, in modo da poter utilizzare il metodo \cpp{apply} anche per il funtore;
%	\item una strategia alternativa, rispetto al punto precedente, consiste nell'utilizzare i \cpp{template}. Trasformare il metodo \cpp{apply} come metodo \cpp{template}.
	\item utilizzare i \cpp{template} per poter applicare l'integrazione sia a funtori che a funzioni. Trasformare il metodo \cpp{apply} come metodo \cpp{template}.
	\item la regola di quadratura all'interno della classe \cpp{Quadrature}, nell'esercitazione 5, veniva gestita attraverso la tecnica del polimorfismo. Implementare tale gestione tramite i \cpp{template}.
\end{enumerate}

\section*{Es. 2 - CON CONSEGNA}
Si chiede di implementare l'interpolazione di Lagrange composita su intervalli. Si chiede di implementare le seguenti funzionalit\`a
\begin{itemize}
	\item Nodi di interpolazione in ogni sotto-intervallo
		\begin{enumerate}
			\item nodi equispaziati;
			\item nodi di Legendre-Gauss-Lobatto.
		\end{enumerate}
	\item Algoritmo di valutazione dell'interpolante in un generico punto $x$
		\begin{enumerate}
			\item valutazione del polinomio di Lagrange;
			\item utilizzo dell'algoritmo di Newton-Cotes;
		\end{enumerate}
		ispirarsi ai file forniti per tali algoritmi.	
\end{itemize}
Presentare alcuni risultati.\\
Si consegni anche una breve relazione di massimo una facciata in cui viene spiegata la strategia implementativa.
	